package biolabs.model.division;

import biolabs.core.WrappedDelegate

/**
 * Interface implemented by bio-objects that are able to divide themselves.
 *
 * @param <P> type of space description.
 * @param <Self> self type and also type of the bio-object
 * that is produced by division.
 *
 * @author Tomas Mikula
 */
trait Divisible[Self, P] {

	def divisionDelegate(): Option[DivisionDelegate[P, Self]]
	def divisionDelegate_wrapped(): Option[WrappedDelegate[DivisionDelegate[P, Self], Self]]

}
